package fr.iut.tp3.view.components;

import java.awt.BorderLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;

import fr.iut.tp3.Context;
import fr.iut.tp3.controller.commands.CDisparaitreSupprimer;
import fr.iut.tp3.controller.commands.CPanelSupprimer;
import fr.iut.tp3.controller.commands.Commande;
import fr.iut.tp3.view.listeners.PanelSupprimerBtnListener;

public class PanelSupprimer extends JPanel {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3742571682119891560L;
	private JLabel titreLabel = new JLabel("Supprimer");
	private JLabel loginLabel = new JLabel("Login : ");
	private JList<String> loginList;
	private JButton supprimerButton = new JButton("Supprimer");
	private JButton disparaitreButton = new JButton("Disparaitre");
	private JPanel formulairePanel = new JPanel();
	private Context context;

	public PanelSupprimer(Context context) {
		this.context = context;
		this.loginList = new JList<String>(context.getListeUtilisateurs().obtenirLogins());
		setLayout(new BorderLayout());
		add(titreLabel, BorderLayout.NORTH);
		formulairePanel.setLayout(new GridLayout(2, 2, 5, 20));
		formulairePanel.add(loginLabel);
		formulairePanel.add(loginList);
		JPanel supprimerPanel = new JPanel();
		JPanel disparaitePanel = new JPanel();
		supprimerPanel.add(supprimerButton);
		disparaitePanel.add(disparaitreButton);
		formulairePanel.add(supprimerPanel);
		formulairePanel.add(disparaitePanel);
		add(formulairePanel, BorderLayout.CENTER);

		addListeners();
	}

	/**
	 * Ajout des listeners.
	 */
	private void addListeners() {
		// Les commandes.
		Commande supprimer = new CPanelSupprimer(context, this);
		Commande disparaitre = new CDisparaitreSupprimer(context);

		// Définir les actions.
		PanelSupprimerBtnListener listener = new PanelSupprimerBtnListener(context,supprimer, disparaitre);
		supprimerButton.setActionCommand("supprimer");
		disparaitreButton.setActionCommand("disparaitre");

		// Ajout des listeners.
		supprimerButton.addActionListener(listener);
		disparaitreButton.addActionListener(listener);
	}
	public JLabel getTitreLabel() {
		return titreLabel;
	}

	public JLabel getLoginLabel() {
		return loginLabel;
	}

	public JList<String> getLoginList() {
		return loginList;
	}

	public JButton getSupprimerButton() {
		return supprimerButton;
	}

	public JButton getAnnulerButton() {
		return disparaitreButton;
	}

	public JPanel getFormulairePanel() {
		return formulairePanel;
	}

	public Context getContext() {
		return context;
	}

}
